#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <stdlib.h>

//int fun(int x, int y) {
//    int diff = x - y;
//    return abs(diff);
//}
//
//int main()
//{
//    int a, b, c;
//    a = 1, b = 5;
//    c = fun(a, b);
//    printf("%d-%d=%d",a,b,c);
//    return 0;
//}

//char* my_strcpy( char* arr,char* brr)
//{
//	char* ret = brr;
//	int i=0;
//	while (*arr++ = *brr++)
//		;
//	return ret;
//}
//
//int main()
//{
//	char arr[20] = { "haha" }, brr[20] = {"ha?"};
//	my_strcpy(arr, brr);
//	printf("%s", arr);
//	return 0;
//}

//int my_strcmp(const char* arr, const char* brr)
//{
//	while (*arr == *brr)
//	{
//		if (*arr == '\0' && *brr == '\0')
//			return 0;
//		arr++;
//		brr++;
//	}
//	if (*arr > *brr)
//		return 1;
//	else
//		return -1;
//}
//
//int main()
//{
//	char arr[10] = { "gaiybaaaa" };
//	char brr[10] = { "gaiybaaaa" };
//    int ret=my_strcmp(arr, brr);
//	printf("%d", ret);
//	return 0;
//}

//#include <stdio.h>
//
//int my_strlen(const char* str) {
//    const char* p = str;
//    while (*p != '\0') {
//        p++;
//    }
//    return (int)(p - str);
//}
//
//int main()
//{
//    char arr[10] = { "ahah" };
//    int ret = my_strlen(arr);
//    printf("%d", ret);
//    return 0;
//}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int compare(const void* a, const void* b) {
    return strcmp((const char*)b, (const char*)a);
}

int main() {
    char* c[] = { "China", "America", "Japan", "French" };
    int num_c = sizeof(c) / sizeof(c[0]);


    qsort(c, num_c, sizeof(c[0]), compare);


    for (int i = 0; i < num_c; i++) {
        printf("%s\n", c[i]);
    }

    return 0;
}